//登录界面控制器
function LoginCtrl($scope, $http, $state, $rootScope) {
	$rootScope.background = "gray-bg";
	$scope.submit = function() {
		$http({
			url : "users/login",
			params : $scope.user
		}).success(function(response) {
			if (response.status == "success") {
				$state.go('home');
			} else if (response.status == '404') {
				$state.go('404');
			} else if (response.status == '500') {
				$state.go('500');
			} else {
				$scope.ansInfo = response.msg;
			}
		})
	};

}
/*
 * 主体内容控制器
 * 
 */
function BodyCtrl($scope, $http, $stateParams, $rootScope) {
	// 主题背景
	$rootScope.background = "";
	// 标题显示
	$scope.module = $stateParams.module;

}
/*
 * 人员管理控制器
 * 
 */
function PeopleCtrl($scope, $http, $stateParams, uiGridConstants, $state) {
	$scope.param.fieldName = "userName";
	$scope.param.value = "";

	var paginationOptions = {
		pageNumber : 1,
		pageSize : 5
	};
	$scope.gridOptions = {
		paginationPageSizes : [ 5, 10, 15 ],
		paginationPageSize : 5,
		enableHorizontalScrollbar : 1, // grid水平滚动条是否显示, 0-不显示 1-显示
		enableVerticalScrollbar : 1, // grid垂直滚动条是否显示, 0-不显示 1-显示
		// // 是否使用分页按钮
		useExternalPagination : true,
		// // 是否使用自定义排序规则
		useExternalSorting : false,

		columnDefs : [ {
			name : '姓名',
			field : 'userName',
			width : '20%',
		// enableSorting : true
		}, {
			name : '部门',
			field : 'dept',
			width : '20%',
		// enableSorting : true
		}, {
			name : '类型',
			field : 'num',
			width : '20%',
		// enableSorting : true
		}, {
			name : '职位',
			field : 'station',
			width : '20%',
		// enableSorting : true

		}, {
			name : '性别',
			field : 'sex',
			width : '20%',
		// enableSorting : true
		} ],
		onRegisterApi : function(gridApi) {
			$scope.gridApi = gridApi;
			// 排序
			$scope.gridApi.core.on.sortChanged($scope, function(grid,
					sortColumns) {
				// 排序的选项，排几条，相当于栈
				if (sortColumns.length == 0) {
					paginationOptions.sort = null;
				} else {
					// 获取想要排序的哪行的名字
					$scope.sorts.field = sortColumns[0].field
					// 获取排序的方式
					$scope.sorts.direction = sortColumns[0].sort.direction;
				}
				getPage();
			});
			// 进行分页
			$scope.gridApi.pagination.on.paginationChanged($scope, function(
					newPage, pageSize) {
				paginationOptions.pageNumber = newPage;
				paginationOptions.pageSize = pageSize;
				getPage();
			});
		}
	};
	var getPage = function() {
		// 获取当前页数
		var page = paginationOptions.pageNumber - 1;
		// var url = "users/find?page="+ page
		// +"&pageSize="+paginationOptions.pageSize+"&mapVo=" +
		// $scope.mapVo+"&sorts"+$scope.sorts;
		/*
		 * 经过我反复的尝试， 我自己感觉当要传入多个参数时， 后台不能正确接受对象， 待改正（各种的注解都已经尝试）
		 * 
		 */

		$http({
			url : 'users/find',
			method : 'post',
			params : {
				"fieldName" : $scope.param.fieldName,
				"value" : $scope.param.value,
				"page" : page,
				"pageSize" : paginationOptions.pageSize,
				"field" : $scope.sorts.field,
				"direction" : $scope.sorts.direction
			}
		}).success(function(response) {
			if (response.status == "success") {
				$scope.gridOptions.totalItems = response.msg.totalElements;
				$scope.gridOptions.data = response.msg.content;
			} else if (response.status == "404") {
				$state.go('404');
			} else if (response.status == '500') {
				$state.go('500');
			}

		});
	};
	// 查找相应的数据
	$scope.search = function() {
		getPage();
	}
	getPage();
}
/*
 * 人员信息控制器
 * 
 */
function InfoCtrl($scope, $http, $stateParams,$state) {
	// 修改的状态
	$scope.isComplete = true;
	// 人员的id
	var id=null;
	// 获取成员信息
	$http({
		url : "users/findOne",
		params:{
			"id":id
		}

	}).success(function(response) {
		if(response.status=="success"){
			$scope.user = response.msg;
		}else if(response.status=="failure"){
			alert(response.msg);
		}else if(response.status=="404"){
			$state.go('404');
		}else if(response.states=="500"){
			$state.go('500');
		}
		
	});
	// 提交保存修改按钮
	$scope.submits = function(val) {
		if (val == "edit") {
			$scope.isComplete = false;
		} else if (val == "save") {
			$http({
				url : "users/save",
				method : 'post',
				params : $scope.user
			}).success(function(response) {
				if (response.status == "success") {
					alert('修改成功');
					$scope.isComplete = true;
				} else if (response.status == "failure") {
					alert('修改失败');
					$scope.isComplete = false;
				}
			});
		}

	};
	// 取消按钮事件
	$scope.cancel = function() {
		$scope.isComplete = true;
	}

}
/*
 * 头部的控制器
 * 
 */
function HeaderCtrl($scope, $http) {
	$http({
		url : 'users/header',
	}).success(function(response) {
		if (response.status == "success") {
			$scope.user = response.msg;
			$scope.isShowUser = true;
		} else {
			$scope.isShowUser = false;
		}
	})
}
/*
 * 错误界面控制器
 */
function ErrorCtrl($rootScope) {
	$rootScope.background = "gray-bg";
}
